CTF刷题记录(一)

您所在的位置:网站首页 ctf 逆向题 入门 CTF刷题记录(一)

CTF刷题记录(一)

2023-06-16 11:43| 来源: 网络整理| 查看: 265

1.2023陕西省赛---test

考点:

GO代码编写

反弹shell

步骤:

打开题目

注册进入

没啥信息,查看页面源码发现可以路由

尝试访问/profile/admin,发现信息泄露

把密码拿去md5解密得到

登录

根据提示上传go文件程序会自动执行

编写反弹shell的Go代码,文件命名为hack.go

(来源:官方wp)

在页面HTML编辑标签

写入文件上传的HTML代码

   

   

 

 

 

 上传编写的hack.go,服务器监听,反弹至服务器。

2.2023陕西省赛--ezpop

考点:

CSS属性、PHP反序列化构造

打开题目

访问题目发现要求 Click Me,但是点不动,尝试F12,右键和 Ctrl+U 发现均会关闭页面,在地址栏F12,成功,查看app.eceb0255.js,发现可疑编码

 base64解码得到/pop3ZTgMw.php,访问

构造pop链子:

unserialize() 会去调用 night 类的 __destruct() 方法,由于方法中的 echo $this->night . '哒咩哟'; 把这个对象当成了字符串,所以调用了 day 类的 __toString() 方法,然后再调用 dark 类里的 go() 方法,然后在 go() 方法里把这个对象当成了方法使用,所以就去调用了 light 类的 __invoke 方法,又因为在 __invoke 方法里再次调用了一个不存在的 d() 方法,接着就会去调用 day 类里的 __call 方法,最后去调用 dark 类里的 getFlag() 方法。

编写exp:

输出结果:O:5:"night":1:{s:5:"night";O:3:"day":1:{s:3:"day";O:4:"dark":1:{s:4:"dark";O:5:"light":1:{s:5:"light";O:3:"day":1:{s:3:"day";O:4:"dark":1:{s:4:"dark";s:49:"php://filter/convert.base64-encode/resource=/flag";}}}}}}

注意:传参有不可见字符,整个复制

然后使用burp传参 ,同时要绕过exception,把night的类内数量由1改为2,改完之后

O:5:"night":2:{s:5:"night";O:3:"day":1:{s:3:"day";O:4:"dark":1:{s:4:"dark";O:5:"light":1:{s:5:"light";O:3:"day":1:{s:3:"day";O:4:"dark":1:{s:4:"dark";s:49:"php://filter/convert.base64-encode/resource=/flag";}}}}}},传参

 

把结果拿去base64解码即可

官方绕过:

 

 3.2023陕西省赛--ezrce

 考点:

无参rce

打开题目

传入key得到源码

注意到

preg_replace函数启用/e模式:

用于指定替换字符串中的代码应该被解释为PHP代码

这里就是利用点

 

 

 简单构造,有过滤,不行

尝试无参函数rce

也被过滤了很多函数

经过尝试

还可以

 

 

 

 

 

 

 

 

 

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3